Developing and marketing software typically involves a significant investment of time and money. Even when software is distributed as freeware or inexpensive shareware, software developers have an interest in being recognized as the developer of the software and maintaining the rights of ownership of their intellectual property.
A number of actors work against the rights of software developers. Competitors may reverse engineer a piece of software to learn how it operates. Others may exploit a software developer's work by modifying executable code for their own purposes, such as to display advertisements for their own products. Malware developers may also crack a legitimate program and modify it to distribute malware. Software developed for virtual machines may be particularly vulnerable to exploits of these types, due to the close relationship between modern high-level languages and virtual machines designed to execute object code generated from programs written in these languages. Accordingly, the instant disclosure identifies and addresses a need for additional and improved systems and methods for protecting virtual machine program code.